What is @istanbuljs/schema?
The @istanbuljs/schema package provides JSON schemas for the configuration options of various IstanbulJS libraries. These schemas are used to validate and document the expected format and types of configuration objects. This can be particularly useful for developers integrating IstanbulJS tools into their projects, ensuring they configure the tools correctly according to the schema definitions.
Validation of nyc configuration
This code sample demonstrates how to use the @istanbuljs/schema package to validate an nyc configuration object. It uses the Ajv library to compile and validate the configuration against the schema.
const Ajv = require('ajv');
const ajv = new Ajv();
const nycConfigSchema = require('@istanbuljs/schema').nycConfig;
const validate = ajv.compile(nycConfigSchema);
const valid = validate({
'check-coverage': true,
'per-file': true,
lines: 90,
functions: 90,
branches: 90,
statements: 90
});
if (!valid) console.log(validate.errors);